home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- pattern_search(fp, pat, size)
- FILE *fp;
- char *pat;
- int size;
- {
- char *s, ch;
- int n, pos, off;
-
- pos = ftell(fp);
- ch = fgetc(fp);
- do {
- s = pat;
- while (!feof(fp) && ch != *s)
- ch = fgetc(fp);
- if (ch != *s)
- break;
- n = size - 1;
- while (--n >= 0){
- ch = fgetc(fp);
- if (ch != *++s)
- break;
- }
- } while (n >= 0);
- if (feof(fp))
- return (-1);
- off = ftell(fp) - size;
- fseek(fp, pos, 0);
- return (off);
- }
-